#ifndef _TD_TOWER_MENU_PANEL_H_ 
#define _TD_TOWER_MENU_PANEL_H_

/************************************************************************/
/* STL                                                                  */
/************************************************************************/
#include <string>
#include <sstream>

/************************************************************************/
/* Core                                                                 */
/************************************************************************/
#include "Core/Utils.h"

/************************************************************************/
/* Game                                                                 */
/************************************************************************/
#include "Game/Factories/TowerFactory.h"

/************************************************************************/
/* GUI                                                                  */
/************************************************************************/
#include "GUI/Panels/BasePanel.h"
#include "GUI/TextMessages/TextMessage.h"
#include "GUI/Buttons/BaseButton.h"

/************************************************************************/
/* Resources                                                            */
/************************************************************************/
#include "Resources/ResourceManager.h"


using namespace std;

namespace TD_GUI {



	class TowerMenuPanel : public BasePanel {


		/************************************************************************/
		/* Default definitions                                                  */
		/************************************************************************/
		static const Coord2D m_menuPanelPosition;
		static const Coord2D m_menuPanelSize;
		static const Coord2D m_towerButtonSize;

		bool m_isShowingTowerInfo;

		BaseButton *m_pShyguyTowerButton;
		BaseButton *m_pLakituTowerButton;
		BaseButton *m_pFlowerTowerButton;
		BaseButton *m_pMagikoopaTowerButton;
		BaseButton *m_pSnifitTowerButton;


		
		
	public:

		/************************************************************************/
		/* ctors and dtors					                                    */
		/************************************************************************/
		//Default constructor
		explicit TowerMenuPanel();

		//Copy constructor
		explicit TowerMenuPanel(const TowerMenuPanel &rhs);

		//Assignment constructor
		TowerMenuPanel& operator=(const TowerMenuPanel &rhs);

		//Destructor
		~TowerMenuPanel();

		/************************************************************************/
		/* Rendering                                                            */
		/************************************************************************/
		void render(SDL_Surface *const g_destSurface, unsigned int deltaTime);

		interaction_t processEvent(const SDL_Event &event);


	};

}


#endif
